package com.ruoyi.system.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

/**
 * 商户三轮车司机信息对象 lhs_tricycle
 *
 * @author liyuxi
 * @date 2025-10-09
 */
@Data
@ToString
@ApiModel(value = "商户三轮车司机信息对象", description = "商户三轮车司机信息对象")
public class LhsTricycle {
    private static final long serialVersionUID = 1L;

    /**
     * 司机id
     */
    private String id;

    /**
     * 驾驶证号
     */
     @ApiModelProperty(value = "驾驶证号")
    private String licenseNo;

    /**
     * 司机姓名
     */
     @ApiModelProperty(value = "司机姓名")
    private String name;

    /**
     * 住址
     */
     @ApiModelProperty(value = "住址")
    private String address;

    /**
     * 司机联系方式
     */
     @ApiModelProperty(value = "司机联系方式")
    private String phoneNo;

    /**
     * 出生日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")

    @ApiModelProperty(value = "出生日期", example = "2020-01-01", dataType = "string")
    private String birthDate;

    /**
     * 初次领证日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "初次领证日期", example = "2020-01-01", dataType = "string")
    private String firstApprovedDate;

    /**
     * 准驾车型
     */
     @ApiModelProperty(value = "准驾车型")
    private String approvedType;

    /**
     * 驾驶证有效起始日期
     */
     @ApiModelProperty(value = "驾驶证有效起始日期", example = "2020-01-01", dataType = "string")
    private String startDate;

    /**
     * 驾驶证有效截止日期
     */
     @ApiModelProperty(value = "驾驶证有效截止日期", example = "2020-01-01", dataType = "string")
    private String endDate;

    /**
     * 驾驶证发证机关
     */
     @ApiModelProperty(value = "驾驶证发证机关")
    private String agency;

    /**
     * 是否有效 - 0无效, 1有效
     */
     @ApiModelProperty(value = "是否有效 - 0无效, 1有效")
    private String isVariable;

    /**
     * 驾驶证正面
     */
     @ApiModelProperty(value = "驾驶证正面")
    private String driverLicenseImg;

    /**
     * 驾驶证副业
     */
     @ApiModelProperty(value = "驾驶证副业")
    private String driverLicenseBackImg;

    /**
     * 创建人
     */
     @ApiModelProperty(value = "创建人")
    private String createUser;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "createDate", example = "2020-01-01", dataType = "string")
    private String createDate;

    /**
     * 所属公司编码
     */
     @ApiModelProperty(value = "所属公司编码")
    private String orgCode;

    /**
     * 数据状态
     */
     @ApiModelProperty(value = "数据状态")
    private String dataStatus;

    /**
     * 数据来源
     */
     @ApiModelProperty(value = "数据来源")
    private String dataSource;

    /**
     * 删除标志（1代表存在 0代表删除）
     */
     @ApiModelProperty(value = "删除标志" )
    private Boolean viewFlag;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "修改时间", example = "2020-01-01", dataType = "string")
    private String updateDate;

    @ApiModelProperty(value = "性别")
    private String gender;
    public String getGender() {
        if (licenseNo == null || licenseNo.length() != 18) {
            // 处理无效身份证：返回null或默认值，也可抛异常
            return null; // 或 return "0"; 根据需求调整
        }
        char genderCode = licenseNo.charAt(16); // 获取第17位字符
        if (genderCode < '0' || genderCode > '9') {
            return null; // 非数字字符处理
        }
        // 判断奇偶：奇数为男(1)，偶数为女(0)
        return (genderCode % 2 != 0) ? "男" : "女";
    }

    public void setGender(String gender) {
        this.gender = gender;
    }


}
